package com.smart.wap.bodys;


import com.smart.manager.work.entities.assembler.WorkOrder;
import com.smart.manager.work.entities.enums.PigOrderStatus;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

@Data
public class SharePigResult implements Serializable {


    @ApiModelProperty("猪猪信息")
    private Pig pig;

    @ApiModelProperty("喂食记录")
    private List<Feeding> feedingList;

    @ApiModelProperty("治疗记录")
    private List<Treat> treatList;

    @ApiModelProperty("服务记录")
    private List<Serve> serveList;

    @ApiModelProperty("步数温度")
    private List<StepWarm> stepWarmList;


    @Data
    @Accessors(chain = true)
    public static class  Pig implements Serializable{

        @ApiModelProperty("猪仔代码")
        private String code;

        @ApiModelProperty("摄像头链接")
        private List<String> cameraUrl;

        @ApiModelProperty("猪仔名称")
        private String name;
        @ApiModelProperty("成长天数")
        private Integer day;

        @ApiModelProperty("会员编号")
        private Long id;

        @ApiModelProperty("会员昵称")
        private String nickName;

        @ApiModelProperty("头像地址")
        private String avatar;

        @ApiModelProperty("品种名称")
        private String breedName;

        @ApiModelProperty("饲养员")
        private String staffName;

    }


    @Data
    @Accessors(chain = true)
    public static class  Feeding implements Serializable{
        @ApiModelProperty("工单编号")
        private String code;

        @ApiModelProperty("管家名称")
        private String staffName;

        @ApiModelProperty("管家头像")
        private String avatar;

        @ApiModelProperty("订单状态")
        private PigOrderStatus status;

        @ApiModelProperty("订单内容")
        private WorkOrder.FeedBody content;

        @ApiModelProperty("完成时间")
        private LocalDateTime completeTime;

        @ApiModelProperty("视频地址")
        private String video;

        @ApiModelProperty("创建时间")
        private LocalDateTime createTime;

    }


    /**
     * 治疗返回
     * @author leo
     * @date 2023/11/01
     */
    @Data
    @Accessors(chain = true)
    public static class Treat implements Serializable {

        @ApiModelProperty("工单编号")
        private String code;

        @ApiModelProperty("治疗内容")
        private String content;

        @ApiModelProperty("完成时间")
        private LocalDateTime completeTime;

        @ApiModelProperty("管家名称")
        private String staffName;

        @ApiModelProperty("管家头像")
        private String avatar;

        @ApiModelProperty("订单状态")
        private PigOrderStatus status;

        @ApiModelProperty("创建时间")
        private LocalDateTime createTime;

    }

    /**
     * 返回服务
     * @author leo
     * @date 2023/11/04
     */
    @Data
    @Accessors(chain = true)
    public static class Serve implements Serializable {

        @ApiModelProperty("工单编号")
        private String code;

        @ApiModelProperty("管家名称")
        private String staffName;

        @ApiModelProperty("管家头像")
        private String avatar;

        @ApiModelProperty("订单状态")
        private PigOrderStatus status;

        @ApiModelProperty("服务名称")
        private String serveName;

        @ApiModelProperty("档案图标")
        private String icon;

        @ApiModelProperty("完成时间")
        private LocalDateTime completeTime;

        @ApiModelProperty("视频地址")
        private String video;

        @ApiModelProperty("创建时间")
        private LocalDateTime createTime;


    }


    /**
     * 步数和温度
     * @author leo
     * @date 2023/11/01
     */
    @Data
    @Accessors(chain = true)
    public static class StepWarm implements Serializable {

        @ApiModelProperty("日期")
        private LocalDate date;

        @ApiModelProperty("步数")
        private Integer step;

        @ApiModelProperty("温度")
        private String warm;

    }


}
